Mobile computing devices with the ability to record, transmit, and display audio and video data are well known. Such computing devices also include networking interfaces for communicating with the world via communications networks. Streaming audio and video from a mobile computing device is known, but difficult to achieve for a large scale service supporting heterogeneous devices over multiple networks. There are three problems associated with streaming video and audio from a mobile device. Network latency, device battery life, and device processing limitations all serve to decrease the quality and increase the delay of audio and video real time streams.
With regard to network latency, disparate mobile and web end-points result in mobile device networks with fluctuating bandwidth. This problem is expected to continue, both as the number of mobile and web device endpoints with video recording capabilities increases, and as wireless carrier networks expand into countries with limited network infrastructures. Furthermore, even within one wireless carrier network, the bandwidth available to each mobile computing device fluctuates as a function of time and the location of the mobile computing device. Thus, an inherent characteristic of wireless access is that it is inconsistent.
With regard to device processing and battery limitations, it is well known that mobile computing devices have limited battery life and limited processing ability. The recording and viewing of audio and video data on a mobile device is processor and battery intensive. Streaming that data over a network requires additional processing and battery power. Further, the more processing that is done by the mobile computing device to improve the quality of the transmission or to stabilize the transmission, the shorter the battery life and the higher the latency of the stream that is sent by the mobile computing device.
Current solutions are inadequate for achieving real time levels of latency in audio and video streaming in mobile computing devices.